ASP.NET Web Forms এ Master Pages একটি বিশেষ ফিচার যা ডেভেলপারদের ওয়েব অ্যাপ্লিকেশনে common layout বা template তৈরি করতে সহায়তা করে। Master Pages এর মাধ্যমে, ওয়েব পেজের মধ্যে একক ডিজাইন বা লেআউট একাধিক পেজে পুনঃব্যবহার করা যায়। এর ফলে অ্যাপ্লিকেশন ডেভেলপমেন্টে কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি পায় এবং ওয়েব পেজের লুক অ্যান্ড ফিল (look and feel) সঙ্গতিপূর্ণ থাকে।
Master Pages হলো একটি template page যা ওয়েব অ্যাপ্লিকেশনের বিভিন্ন পেজের জন্য একটি সাধারণ লেআউট বা স্ট্রাকচার প্রদান করে। এটি এমন একটি পেজ যেখানে সাধারণত header, footer, navigation, এবং অন্যান্য কমন UI এলিমেন্ট থাকে। মূল পেজগুলি, যেগুলিকে Content Pages বলা হয়, এই Master Page এর ডিজাইন এবং লেআউট অনুসরণ করে।
Master Page এর ব্যবহার single point of maintenance তৈরি করে, কারণ একবার Master Page তৈরি করার পর, কোনো পরিবর্তন করতে হলে তা এক জায়গাতেই করা যায়, এবং এর ফলে অ্যাপ্লিকেশনের সব পেজে পরিবর্তনটি স্বয়ংক্রিয়ভাবে প্রয়োগ হয়ে যায়।
Master Page তৈরি করার জন্য, প্রথমে একটি নতুন Master Page ফাইল তৈরি করতে হবে। এতে সাধারণত HTML এবং ASP.NET কন্ট্রোল থাকবে যা ওয়েব পেজে সাধারণভাবে প্রদর্শিত হবে। এরপর, যেকোনো ওয়েব পেজকে এই Master Page এর সাথে যুক্ত করা যাবে।
Master Page তৈরি করা:
Site.master
)।<!DOCTYPE html>
<html>
<head>
<title>Master Page</title>
</head>
<body>
<div id="header">
<h1>Welcome to My Website</h1>
</div>
<div id="navigation">
<a href="Home.aspx">Home</a>
<a href="About.aspx">About</a>
<a href="Contact.aspx">Contact</a>
</div>
<div id="content">
<asp:ContentPlaceHolder id="MainContent" runat="server" />
</div>
<div id="footer">
<p>© 2024 My Website</p>
</div>
</body>
</html>
এখানে ContentPlaceHolder
কন্ট্রোলের মাধ্যমে যেখানে Content Pages এর কন্টেন্ট প্রদর্শিত হবে, তা নির্ধারিত হয়েছে।
Master Page এর সাথে Content Page সংযুক্ত করা:
Home.aspx
)।MasterPageFile
অ্যাট্রিবিউট ব্যবহার করুন:<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="MyWebApp.Home" %>
এখানে MasterPageFile
অ্যাট্রিবিউটের মাধ্যমে Master Page ফাইলটির পথ নির্ধারণ করা হয়েছে।
Content Pages তৈরি করা:
Content
কন্ট্রোল ব্যবহার করে, ContentPlaceHolder এর মধ্যে কনটেন্ট ইনজেক্ট করুন:<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<h2>Welcome to the Home Page!</h2>
<p>This is the main content of the homepage.</p>
</asp:Content>
এইভাবে, ওয়েব পেজে Master Page এর লেআউট এবং ডিজাইন থাকবে, এবং Content Page এর কনটেন্ট সেখানে প্রদর্শিত হবে।
ধরা যাক আপনি একটি ওয়েব অ্যাপ্লিকেশন তৈরি করছেন যেখানে প্রতিটি পেজের উপরে একটি header, footer, এবং একটি side navigation bar থাকবে। আপনি যদি একে একে প্রতিটি পেজে এসব উপাদান কপি-পেস্ট করেন, তাহলে অনেক কোড পুনঃব্যবহার হবে। Master Pages ব্যবহার করলে, এসব সাধারণ উপাদান এক জায়গায় থাকবে এবং বাকি সব পেজ এই Master Page থেকে স্বয়ংক্রিয়ভাবে লেআউট গ্রহণ করবে।
এভাবে, ASP.NET Web Forms এ Master Pages তৈরি এবং ব্যবহার করলে, অ্যাপ্লিকেশন ডেভেলপমেন্ট সহজ, কার্যকরী এবং স্কেলেবল হয়।
common.read_more